package org.hydrakyoufeng.stuplatform.mapper;

import org.hydrakyoufeng.stuplatform.dto.*;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ClassMapper {
    /**
     * 查询班级列表
     * @param classListDTO
     * @return
     */
    List queryList(ClassListDTO classListDTO);

    /**
     * 删除班级：逻辑删除
     * @param classDTO
     * @return
     */
    int delete(ClassDTO classDTO);

    /**
     * 修改班级
     * @param classDTO
     * @return
     */
    int update(ClassDTO classDTO);

    /**
     * 新增班级
     * @param classDTO
     * @return
     */
    int insert(ClassDTO classDTO);

    /**
     * 将指定班级的所有课程删除
     * @param classCourseDTO
     */
    void deleteCourse(ClassCourseDTO classCourseDTO);

    /**
     * 将所有课程添加到指定班级
     * @param classCourseDTO
     */
    void insertCourse(ClassCourseDTO classCourseDTO);

    /**
     * 前端用户查询班级列表
     * @param classEntryListDTO
     * @return
     */
    List queryEntryList(ClassEntryListDTO classEntryListDTO);

    /**
     * 申请入班
     * @param classUserDTO
     * @return
     */
    int entry(ClassEntryDTO classUserDTO);

    /**
     * 查询申请入班的列表
     * @param classUserListDTO
     * @return
     */
    List queryCheckList(ClassCheckListDTO classUserListDTO);

    /**
     * 入班审核
     * @param classJoinDTO
     * @return
     */
    int check(ClassCheckDTO classJoinDTO);

    List queryUserList(Integer user_id);
}
